package graphquerying.reachability;

import java.util.ArrayList;

/**
 * The node of R-Graph with its adjoined nodes
 * @author BaiJian
 */
public class RNode {
	private String id;
	private VisitedStatus status;
	private ArrayList<String> adjRNodes;
	private String root;
	private int discoverTime;
	private int finishTime;
	private int inDegree;
	
	public RNode(String id) {
		adjRNodes = new ArrayList<String>();
		status = VisitedStatus.NOT_VISITED;
		this.id = id;
		root = id;
		inDegree = 0;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public ArrayList<String> getAdjRNodes() {
		return adjRNodes;
	}

	public void setAdjRNodes(ArrayList<String> adjRNodes) {
		this.adjRNodes = adjRNodes;
	}

	public VisitedStatus getStatus() {
		return status;
	}

	public void setStatus(VisitedStatus status) {
		this.status = status;
	}

	public int getInDegree() {
		return inDegree;
	}

	public void setInDegree(int inDegree) {
		this.inDegree = inDegree;
	}

	public String getRoot() {
		return root;
	}

	public void setRoot(String root) {
		this.root = root;
	}

	public int getDiscoverTime() {
		return discoverTime;
	}

	public void setDiscoverTime(int discoverTime) {
		this.discoverTime = discoverTime;
	}

	public int getFinishTime() {
		return finishTime;
	}

	public void setFinishTime(int finishTime) {
		this.finishTime = finishTime;
	}
}
